#include "comm.h"

int main()
{
  // client通过相同的pathname 和 proj_id 可以创建出一个和server.c相同的共享内存唯一标识符
  key_t key = ftok(PATHNAME, PROJ_ID);
  if (key == -1){
    // 标识符生成失败
    perror("ftol fail");
    exit(-1);
  }
  
  // 直接获取服务端创建的共享内存
  int shmid = shmget(key, SIZE, 0);
  if (shmid < 0){
    perror("shmget");
    exit(-1);
  }
  
  
  // 连接共享内存(关联)
  char* str = (char*)shmat(shmid, NULL, 0); 
  
  // 客户端每个5s在共享内存写数据
  char start = 'a';
  while (start <= 'z'){
    str[start-'a'] = start;
    ++start;
    sleep(5);
  }
  // 取消关联
  if (shmdt(str) == -1){
    perror("shmdt");
    exit(-1);
  }
 
  return 0;
}
